home *** CD-ROM | disk | FTP | other *** search
- Date: Fri, 17 Jun 94 15:17 CDT
- From: ekl@sdf.lonestar.org (Evan K. Langlois)
- To: mint@atari.archive.umich.edu
- Subject: Device Drivers
-
-
- I'm been looking at the direction that MiNT has been going, basically,
- it seems as though XBIOS and BIOS functions will be provided by hooks
- into MiNT device drivers and the rest of GEMDOS will be put into MiNT
- also, so the end result is MiNT, device drivers, plus VDI+AES(optional),
- and maybe some ROM XBIOS functions that MiNT will have no need to duplicate,
- such as DSP functions.
-
- Anyway, alot of people were talking about having a SCSI dev, and others
- wanted a device driver that operated at a lower level that didn't understand
- disks and such. Can a driver in MiNT call another driver? This would
- be very useful. Then the /dev/harddisk driver can call /dev/dma and
- /dev/floppy can call /dev/dma or whatever names you want to give them.
- TTs and Falcon would have /dev/scsi (probably different drivers for
- each machine). The names don't matter since they can be renamed. Anyway,
- having one driver call another would also be useful for MiNT NET. Can
- this be done? If MiNT does not currently support this, what is involved in
- changing this?
-
- Next thing I wanted to mention was filesystems. I think someone mentioned
- that if a program was doing IO in a filesystem, and MiNT didn't lock access
- to the filesystem, that there would be problems because the filesystems
- weren't re-entrant? Is this true? If so, it would seem it would a
- problem of stacks. If you call the filesystem code with a separate stack
- then wouldn't it become re-entrant? Then what you would have is the
- app calling the filesystem code, say minixfs, which calls /dev/harddisk,
- /dev/harddisk queues the access until /dev/dma or /dev/scsi are free.
- /dev/dma then handles the IO or whatever. I don't know which level
- would handle the queuing, but I would guess that all higher levels would
- need to be re-entrant, no?
-
- Basically, I'm trying to get some more discussion on this, since I don't
- think anyone ever decided how it would all work. I have the ehscsi driver
- that someone posted, but its useless without a Falcon. Does anyone have
- any files that describe how the ACSI DMA status and mode control regs
- are manipulated (0xff8606) and the disk data path reg (0xff8604) and I assume
- that second is for floppy only?
-
- I'm thinking of disassembling AHDI or Supra (since its only 2K) drivers to
- see how they work.
-
-